﻿using Sidvall.IdentityManager.Data;
using System.Threading.Tasks;

namespace Sidvall.IdentityManager.Security
{
    public interface IUserTokenProvider
    {
        Task<string> GenerateAsync(string purpose, IAspNetUsers user);
        Task<bool> IsValidProviderForUserAsync(IAspNetUsers user);
        Task NotifyAsync(string token, IAspNetUsers user);
        Task<bool> ValidateAsync(string purpose, string token, IAspNetUsers user);
    }
}
